package com.punch.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.punch.common.dto.system.SelectCourseDTO;
import com.punch.common.page.PageInfo;
import com.punch.common.query.syste.SelectCourseQueryInfo;
import com.punch.common.vo.system.SelectCourseVO;
import com.punch.system.model.SelectCourse;


/**
 * <p>
 * 精选课程表 服务类
 * </p>
 *
 * @author wjj
 * @since 2020-12-14
 */
public interface SelectCourseService extends IService<SelectCourse> {

    /**
     * 精选课程列表
     *
     * @param queryInfo 查询条件
     * @return PageInfo<SelectCourseVO>
     */
    PageInfo<SelectCourseVO> listSelectCourse(SelectCourseQueryInfo queryInfo);

    /**
     * 保存精选课程
     *
     * @param selectCourseDTO 提交表单
     * @return id
     */
    Integer saveSelectCourse(SelectCourseDTO selectCourseDTO);

    /**
     * 修改精选课程
     *
     * @param selectCourseDTO 提交表单
     * @return id
     */
    Integer updateSelectCourse(SelectCourseDTO selectCourseDTO);

    /**
     * 精选课程详情
     *
     * @param selectCourseId selectCourseId
     * @return SelectCourseVO
     */
    SelectCourseVO getSelectCourse(Integer selectCourseId);

    /**
     * 删除精选课程
     *
     * @param selectCourseId selectCourseId
     * @return id
     */
    Integer deleteSelectCourse(Integer selectCourseId);

    /**
     * 修改精选课程状态
     *
     * @param selectCourseId selectCourseId
     * @param status         状态 0-不显示 1-显示
     * @return selectCourseId
     */
    Integer updateSelectCourseStatus(Integer selectCourseId, Integer status);
}
